const redis = require('redis');
require('dotenv').config();

// 创建Redis客户端
const redisClient = redis.createClient({
  socket: {
    host: process.env.REDIS_HOST || 'localhost',
    port: process.env.REDIS_PORT || 6379,
    connectTimeout: 5000,  // 5秒连接超时
    reconnectStrategy: () => false  // 不自动重连
  },
  password: process.env.REDIS_PASSWORD || undefined
});

// 连接Redis
redisClient.connect()
  .then(() => {
    console.log('✓ Redis连接成功');
  })
  .catch(err => {
    console.error('✗ Redis连接失败:', err.message);
    console.log('  系统将在没有Redis的情况下继续运行');
  });

// 错误处理
redisClient.on('error', (err) => {
  // 减少错误日志输出频率
  if (!redisClient._lastErrorTime || Date.now() - redisClient._lastErrorTime > 60000) {
    console.error('Redis错误:', err.message);
    redisClient._lastErrorTime = Date.now();
  }
});

module.exports = redisClient;
